home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / svgabg55 / notes32k.svg < prev    next >
Text File  |  1994-08-23  |  4KB  |  131 lines

  1. SuperVGA 32768 BGI driver
  2. Version 1.7
  3. August 23, 1994
  4.  
  5. Revisions:
  6.     1.7 - August 23, 1994
  7.     1.65 - July 20, 1994
  8.     1.6  - March 30, 1994
  9.     1.55 - March 8, 1994
  10.     1.5 - August 28, 1993
  11.     1.3 - May 21, 1993
  12.     1.2 - April 20, 1993
  13.     1.15 - January 28, 1993
  14.     1.1 - June 12, 1992
  15.  
  16. This is the newest version of my SuperVGA 32768 BGI driver.  All functions
  17. have been implemented, but there may still be bugs.
  18.  
  19. Note:  Palette functions, and the mouse cursor will not work with this driver.
  20. The mouse cursor will work if you have the HGXMOUSE TSR loaded.
  21.  
  22.   Using the HiColor driver:
  23.  
  24.     Implementing the 32768 color driver involved several hacks, as
  25.     the BGI interface only supports 8-bit color values, but the driver
  26.     needed support for 15-bit color values.  The procedures that needed
  27.     to be changed were those that accepted color values, (SetColor,
  28.     SetFillStyle, SetFillPattern, PutPixel and Floodfill)  and those 
  29.     that return color values (GetColor and GetPixel).
  30.     As the HiColor modes do not support palettes, I decided to use
  31.     the SetRgbPalette call to set colors, as it accepts values for the 
  32.     R,G and B components of the color.
  33.  
  34.     The format of a pixel in the HiColor modes is:
  35.         -Byte 1- -Byte 0-
  36.         xRRRRRGG GGGBBBBB
  37.  
  38.     Several new functions are defined to make the color selection easier.
  39.     In addition, the macro RGB(rv,gv,bv) has been defined.  It packs
  40.     the R, G and B values into the format described above and returns the
  41.     combined color.
  42.  
  43.     * RealDrawColor(); - Sets the current drawing color.
  44.       Usage:
  45.         setcolor(RealDrawColor(RGB(rval,gval,bval)); - HiColor modes
  46.         setcolor(RealDrawColor(cval)); - (suggested for any other driver)
  47.  
  48.     * RealFillColor(); - Sets the current fill color.
  49.       Usage:
  50.         setfillstyle(fillstyle,RealFillColor(RGB(rval,gval,bval)));
  51.         setfillstyle(fillstyle,RealFillColor(cval));
  52.         setfillpattern(fillpat,RealFillColor(RGB(rval,gval,bval)));
  53.         setfillpattern(fillpat,RealFillColor(cval));
  54.  
  55.     * RealColor(); - For putpixel, sets the color of the pixel
  56.                - For floodfill, sets the color of the boundary
  57.         putpixel(x,y,RealColor(RGB(rval,gval,bval)));
  58.         putpixel(x,y,RealColor(cval));
  59.         floodfill(x,y,RealColor(RGB(rval,gval,bval)));
  60.         floodfill(x,y,RealColor(cval));
  61.  
  62.     * RealDrawColor, RealFillColor, and RealColor all use a hacked 
  63.       interface to setrgbpalette.  If you would rather use the call
  64.       directly, the format is:
  65.  
  66.         RealDrawColor:
  67.         setrgbpalette(1024,Rval,Gval,Bval); 
  68.         RealFillColor:
  69.         setrgbpalette(1025,Rval,Gval,Bval);
  70.         RealColor:
  71.         setrgbpalette(1026,Rval,Gval,Bval);
  72.  
  73.       where Rval, Gval, Bval = 0..31.
  74.  
  75.     * GetPixel normally only returns an 8-bit value.  However, the
  76.       value returned from the BGI driver is a 16-bit value in DX (the 
  77.       BGI kernel loads the value into AX and clears the upper 8 bits),
  78.       so to read the value of a pixel:
  79.  
  80.       In Pascal:
  81.         Color := getpixel(x,y);
  82.         inline($89/$56/<Color);  (* Loads 15-bit color value from DX*)
  83.  
  84.       In C:
  85.         Color = getpixel(x,y);
  86.         Color = _DX;
  87.       
  88.  
  89.     * Support for the ATI XL card has been added (1.1) 
  90.         ATI only supports 640x480x32k
  91.  
  92.     * Paging has been added (1.1)
  93.  
  94.       Mode        Paging?        # of pages (with 1024k)
  95.       320x200    yes        8
  96.       640x350    yes        2
  97.       640x400    yes        2
  98.       640x480    no        1
  99.       800x600    no        1
  100.  
  101.     o Mouse code hooks added (1.15)
  102.  
  103.     o New card support added, changed old card support (1.2)
  104.         Acumos, Avance Logic 2101, Cirrus 54xx, Compaq, MXIC 68020, NCR, 
  105.         Primus 2000, Realtek
  106.       Not all cards support 32k colors.
  107.  
  108.     o Paging enhanced to work with new cards (1.2)
  109.  
  110.     o Fixed text clipping at right and bottom edges (1.3)
  111.  
  112.     o Various speed optimizations (line & solid bar) (1.3)
  113.  
  114.     o Added compile-time support for 8x8, 8x14, or 8x16 bitmap fonts (1.3)
  115.  
  116.     o Drivers now have compile-time support for BGI version 3.0.
  117.       Supports protected mode with Borland Pascal 7.0 (1.5)
  118.  
  119.     o 1024x768x32k and 1280x1024x32k modes are now supported. (1.5)
  120.  
  121.     o Fixed Cirrus Logic detect bug (1.55)
  122.  
  123.     o New, improved card detection support (1.6)
  124.       Supports IITAGX, UMC, HMC, Weitek cards.
  125.  
  126.     o Fixed Chips & Technologies detect bug (1.65)
  127.  
  128.     o Integrated support for HGXMOUSE mouse cursor TSR. (1.65)
  129.  
  130.     o Fixed IIT AGX bankswitch bug (1.7)
  131.